﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using MySql.Data.MySqlClient;

/// <summary>
/// Clase superior de las clases que trabajan con tablas de datos.
/// </summary>
public abstract class ObjetoT
{
    #region Atributos

    /// <summary>
    /// La conexión a la base de datos.
    /// </summary>
    protected MySqlConnection conexion;

    /// <summary>
    /// El nombre de la tabla.
    /// </summary>
    protected string nombreTabla;

    #endregion

    #region Propiedades Publicas

    /// <summary>
    /// Expone el nombre de la tabla de datos.
    /// </summary>
    public string NombreTabla
    {
        get { return this.nombreTabla; }
    }

    #endregion

    #region Constructores

    /// <summary>
    /// Constructor único de la clase. Recibe como parámetro el nombre de la tabla con la que va a trabajar.
    /// </summary>
    /// <param name="pNombreTabla">Nombre de la tabla de datos con la que va a trabajar la clase.</param>
    public ObjetoT(string pNombreTabla)
    {
        this.nombreTabla = pNombreTabla;
    }

    #endregion

    #region Metodos internos

    protected IDbCommand crearComando(string sql)
    {
        if (this.conexion is MySqlConnection)
            return new MySqlCommand(sql, (MySqlConnection)this.conexion);
        else
            return null;
    }

    #endregion
}